#include "BulletCollision/CollisionShapes/btMultimaterialTriangleMeshShape.h"
#ifdef __cplusplus
extern "C" {
#endif
btMultimaterialTriangleMeshShape* bullet_NewbtMultimaterialTriangleMeshShape(btStridingMeshInterface* meshInterface,bool useQuantizedAabbCompression,bool buildBvh){
	btStridingMeshInterface * c_arg_meshInterface=(btStridingMeshInterface *)(void*)(meshInterface);
	bool c_arg_useQuantizedAabbCompression=useQuantizedAabbCompression;
	bool c_arg_buildBvh=buildBvh;
	btMultimaterialTriangleMeshShape* wrap_out = new btMultimaterialTriangleMeshShape(c_arg_meshInterface,c_arg_useQuantizedAabbCompression,c_arg_buildBvh);
	return wrap_out;
}

btMultimaterialTriangleMeshShape* bullet_NewbtMultimaterialTriangleMeshShape1(btStridingMeshInterface* meshInterface,bool useQuantizedAabbCompression,btVector3* bvhAabbMin,btVector3* bvhAabbMax,bool buildBvh){
	btStridingMeshInterface * c_arg_meshInterface=(btStridingMeshInterface *)(void*)(meshInterface);
	bool c_arg_useQuantizedAabbCompression=useQuantizedAabbCompression;
	btVector3 const& c_arg_bvhAabbMin=(btVector3 const&)(*bvhAabbMin);
	btVector3 const& c_arg_bvhAabbMax=(btVector3 const&)(*bvhAabbMax);
	bool c_arg_buildBvh=buildBvh;
	btMultimaterialTriangleMeshShape* wrap_out = new btMultimaterialTriangleMeshShape(c_arg_meshInterface,c_arg_useQuantizedAabbCompression,c_arg_bvhAabbMin,c_arg_bvhAabbMax,c_arg_buildBvh);
	return wrap_out;
}

btMaterial* bullet_btMultimaterialTriangleMeshShape_getMaterialProperties(btMultimaterialTriangleMeshShape* c_this,int partID,int triIndex){
	int c_arg_partID=partID;
	int c_arg_triIndex=triIndex;
	btMaterial const * c_out = c_this->getMaterialProperties(c_arg_partID,c_arg_triIndex);
	btMaterial* wrap_out = (btMaterial*)(void*)(c_out);
	return wrap_out;
}

#ifdef __cplusplus
}
#endif
